package com.ourteam.product.model.dao;

import net.dao.IDataAccessInterface;


/**
 * Template Name : DAO接口模板
 * Template Version : 1
 * Template Last Modfiy Date : Thu Sep 21 11:14:14 IRKT 2017
 * Auto Generate Date : 2017-11-17 11:00:43
  * Warning ! This file will be overwrite when regenerate !
  *
 */
public interface IBaseProductModelPropertyRelateDAO extends IDataAccessInterface<ProductModelPropertyRelate, ProductModelPropertyRelateDAOQueryBean> {
    /**
        *  Mapped Entity Name
        */
    static final String EntityName = "PRODUCT_MODEL_PROPERTY_RELATE";

    /**
     * Mapped Field ID
    */
    static final String Id = "PRODUCT_MODEL_PROPERTY_RELATE.ID";

    /**
     * Mapped Field RELATE_CODE
    */
    static final String RelateCode = "PRODUCT_MODEL_PROPERTY_RELATE.RELATE_CODE";

    /**
     * Mapped Field RELATE_NAME
    */
    static final String RelateName = "PRODUCT_MODEL_PROPERTY_RELATE.RELATE_NAME";

    /**
     * Mapped Field PROPERTY_ID
    */
    static final String PropertyId = "PRODUCT_MODEL_PROPERTY_RELATE.PROPERTY_ID";

    /**
     * Mapped Field RELATED_PROPERTY_ID
    */
    static final String RelatedPropertyId = "PRODUCT_MODEL_PROPERTY_RELATE.RELATED_PROPERTY_ID";

    /**
     * Mapped Field RELATED_TYPE
    */
    static final String RelatedType = "PRODUCT_MODEL_PROPERTY_RELATE.RELATED_TYPE";

    /**
     * Mapped Field RELATED_CONFIG
    */
    static final String RelatedConfig = "PRODUCT_MODEL_PROPERTY_RELATE.RELATED_CONFIG";

    /**
     * Mapped Field SORT_INDEX
    */
    static final String SortIndex = "PRODUCT_MODEL_PROPERTY_RELATE.SORT_INDEX";

    /**
     * Mapped Field STATUS
    */
    static final String Status = "PRODUCT_MODEL_PROPERTY_RELATE.STATUS";

    /**
     * Mapped Field REMARKS
    */
    static final String Remarks = "PRODUCT_MODEL_PROPERTY_RELATE.REMARKS";

    /**
     * Mapped Field OBJECT_RELATE_ID
    */
    static final String ObjectRelatedId = "PRODUCT_MODEL_PROPERTY_RELATE.OBJECT_RELATE_ID";

    /**
     * Mapped Attribute relatedPropertyName
    */
    static final String RelatedPropertyName = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelPropertyDAO.PropertyName,
            com.ourteam.product.model.dao.IProductModelPropertyDAO.EntityName +
            ".", "PRODUCT_MODEL_PROPERTY.");

    /**
     * Mapped Attribute relatedPropertyDataType
    */
    static final String RelatedPropertyDataType = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelPropertyDAO.DataType,
            com.ourteam.product.model.dao.IProductModelPropertyDAO.EntityName +
            ".", "PRODUCT_MODEL_PROPERTY.");

    /**
     * Mapped Attribute relatedPropertyDataTypeId
    */
    static final String RelatedPropertyDataTypeId = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelPropertyDAO.DataTypeId,
            com.ourteam.product.model.dao.IProductModelPropertyDAO.EntityName +
            ".", "PRODUCT_MODEL_PROPERTY.");

    /**
     * Mapped Attribute relatedPropertyDataLength
    */
    static final String RelatedPropertyDataLength = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelPropertyDAO.DataLength,
            com.ourteam.product.model.dao.IProductModelPropertyDAO.EntityName +
            ".", "PRODUCT_MODEL_PROPERTY.");

    /**
     * Mapped Attribute relatedPropertyDataAccuracy
    */
    static final String RelatedPropertyDataAccuracy = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelPropertyDAO.DataAccuracy,
            com.ourteam.product.model.dao.IProductModelPropertyDAO.EntityName +
            ".", "PRODUCT_MODEL_PROPERTY.");

    /**
     * Mapped Attribute relatedPropertyIsAllowNull
    */
    static final String RelatedPropertyIsAllowNull = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelPropertyDAO.IsAllowNull,
            com.ourteam.product.model.dao.IProductModelPropertyDAO.EntityName +
            ".", "PRODUCT_MODEL_PROPERTY.");

    /**
     * Mapped Attribute relatedPropertyisPrimaryKey
    */
    static final String RelatedPropertyisPrimaryKey = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelPropertyDAO.IsPrimaryKey,
            com.ourteam.product.model.dao.IProductModelPropertyDAO.EntityName +
            ".", "PRODUCT_MODEL_PROPERTY.");

    /**
     * Mapped Attribute relatedPropertyIsAutoInc
    */
    static final String RelatedPropertyIsAutoInc = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelPropertyDAO.IsAutoInc,
            com.ourteam.product.model.dao.IProductModelPropertyDAO.EntityName +
            ".", "PRODUCT_MODEL_PROPERTY.");

    /**
     * Mapped Attribute relatedPropertyObjectId
    */
    static final String RelatedPropertyObjectId = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelPropertyDAO.ObjectId,
            com.ourteam.product.model.dao.IProductModelPropertyDAO.EntityName +
            ".", "PRODUCT_MODEL_PROPERTY.");

    /**
     * Mapped Attribute relatedPropertyObjectName
    */
    static final String RelatedPropertyObjectName = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelObjectDAO.ObjectName,
            com.ourteam.product.model.dao.IProductModelObjectDAO.EntityName +
            ".", "PRODUCT_MODEL_OBJECT.");

    /**
     * Mapped Attribute relatedPropertyObjectType
    */
    static final String RelatedPropertyObjectType = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelObjectDAO.ObjectType,
            com.ourteam.product.model.dao.IProductModelObjectDAO.EntityName +
            ".", "PRODUCT_MODEL_OBJECT.");

    /**
     * Mapped Attribute propertyName
    */
    static final String PropertyName = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelPropertyDAO.PropertyName,
            com.ourteam.product.model.dao.IProductModelPropertyDAO.EntityName +
            ".", "MAIN_PRODUCT_MODEL_PROPERTY.");

    /**
     * Mapped Attribute propertyObjectId
    */
    static final String PropertyObjectId = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelPropertyDAO.ObjectId,
            com.ourteam.product.model.dao.IProductModelPropertyDAO.EntityName +
            ".", "MAIN_PRODUCT_MODEL_PROPERTY.");

    /**
     * Mapped Attribute propertyDataType
    */
    static final String PropertyDataType = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelPropertyDAO.DataType,
            com.ourteam.product.model.dao.IProductModelPropertyDAO.EntityName +
            ".", "MAIN_PRODUCT_MODEL_PROPERTY.");

    /**
     * Mapped Attribute propertyObjectName
    */
    static final String PropertyObjectName = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelObjectDAO.ObjectName,
            com.ourteam.product.model.dao.IProductModelObjectDAO.EntityName +
            ".", "MAIN_PROPERTY_OBJECT.");

    /**
     * Mapped Attribute propertyObjectType
    */
    static final String PropertyObjectType = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelObjectDAO.ObjectType,
            com.ourteam.product.model.dao.IProductModelObjectDAO.EntityName +
            ".", "MAIN_PROPERTY_OBJECT.");

    /**
     * Delete Data
     * @param final long id
     * @throws Exception
     */
    void delete(final long id) throws Exception;

    /**
         * Find Data By Primary Key
         * @param  final long id
         * @throws Exception
         */
    ProductModelPropertyRelate findById(final long id)
        throws Exception;

    static public interface DataProperty {
        /**
         * Attribute id
         */
        static final String Id = "id";

        /**
         * Attribute relateCode
         */
        static final String RelateCode = "relateCode";

        /**
         * Attribute relateName
         */
        static final String RelateName = "relateName";

        /**
         * Attribute propertyId
         */
        static final String PropertyId = "propertyId";

        /**
         * Attribute relatedPropertyId
         */
        static final String RelatedPropertyId = "relatedPropertyId";

        /**
         * Attribute relatedType
         */
        static final String RelatedType = "relatedType";

        /**
         * Attribute relatedConfig
         */
        static final String RelatedConfig = "relatedConfig";

        /**
         * Attribute sortIndex
         */
        static final String SortIndex = "sortIndex";

        /**
         * Attribute status
         */
        static final String Status = "status";

        /**
         * Attribute remarks
         */
        static final String Remarks = "remarks";

        /**
         * Attribute relatedPropertyName
         */
        static final String RelatedPropertyName = "relatedPropertyName";

        /**
         * Attribute relatedPropertyDataType
         */
        static final String RelatedPropertyDataType = "relatedPropertyDataType";

        /**
         * Attribute relatedPropertyDataTypeId
         */
        static final String RelatedPropertyDataTypeId = "relatedPropertyDataTypeId";

        /**
         * Attribute relatedPropertyDataLength
         */
        static final String RelatedPropertyDataLength = "relatedPropertyDataLength";

        /**
         * Attribute relatedPropertyDataAccuracy
         */
        static final String RelatedPropertyDataAccuracy = "relatedPropertyDataAccuracy";

        /**
         * Attribute relatedPropertyIsAllowNull
         */
        static final String RelatedPropertyIsAllowNull = "relatedPropertyIsAllowNull";

        /**
         * Attribute relatedPropertyisPrimaryKey
         */
        static final String RelatedPropertyisPrimaryKey = "relatedPropertyisPrimaryKey";

        /**
         * Attribute relatedPropertyIsAutoInc
         */
        static final String RelatedPropertyIsAutoInc = "relatedPropertyIsAutoInc";

        /**
         * Attribute relatedPropertyObjectId
         */
        static final String RelatedPropertyObjectId = "relatedPropertyObjectId";

        /**
         * Attribute relatedPropertyObjectName
         */
        static final String RelatedPropertyObjectName = "relatedPropertyObjectName";

        /**
         * Attribute objectRelatedId
         */
        static final String ObjectRelatedId = "objectRelatedId";

        /**
         * Attribute relatedPropertyObjectType
         */
        static final String RelatedPropertyObjectType = "relatedPropertyObjectType";

        /**
         * Attribute propertyName
         */
        static final String PropertyName = "propertyName";

        /**
         * Attribute propertyObjectId
         */
        static final String PropertyObjectId = "propertyObjectId";

        /**
         * Attribute propertyObjectName
         */
        static final String PropertyObjectName = "propertyObjectName";

        /**
         * Attribute propertyObjectType
         */
        static final String PropertyObjectType = "propertyObjectType";

        /**
         * Attribute propertyDataType
         */
        static final String PropertyDataType = "propertyDataType";
    }

    static public interface _DataObjectProperty extends DataProperty {
    }
}
